package com.wolf.gulimall.seckill.service;

import com.wolf.gulimall.seckill.to.SeckillSkuRedisTo;

import java.util.List;

/**
 * 秒杀service
 */
public interface SeckillService {

    /**
     * 每天晚上三点上架最近三天需要秒杀的商品
     */
    void uploadSeckillSkuLatest3DaySession();

    /**
     * 查询当前时间可以参与秒杀活动的商品信息
     *
     * @return 商品信息
     */
    List<SeckillSkuRedisTo> getCurrentSeckillSkus();

    /**
     * 查询当前skuId对应商品是否参与秒杀
     *
     * @return 商品信息
     */
    SeckillSkuRedisTo getSkuSeckillInfo(Long skuId);

    /**
     * 秒杀
     *
     * @param killId 秒杀活动ID
     * @param key    随机码
     * @param num    秒杀数量
     * @return 订单编号
     */
    String kill(String killId, String key, Integer num);
}
